package auth

import "github.com/golang-jwt/jwt/v5"

type LoginVO struct {
	Token        string `json:"token,omitempty" dc:"登录凭证"`
	RefreshToken string `json:"refreshToken,omitempty" dc:"刷新凭证"`
	UserId       string `json:"userId,omitempty" dc:"用户ID"`
}
type CaptchaOpenFlagVO struct {
	Flag bool `json:"flag" dc:"验证码开启标志"`
}

type LoginUserVO struct {
	UserId      string   `json:"id,omitempty" dc:"用户ID"`
	UserName    string   `json:"username,omitempty" dc:"用户名"`
	RealName    string   `json:"realName,omitempty" dc:"真实名称"`
	SuperAdmin  bool     `json:"superAdmin,omitempty" dc:"是否是超级管理员"`
	AdminType   int      `json:"adminType,omitempty" dc:"管理员类型"`
	RoleIdList  []string `json:"roleIdList,omitempty" dc:"角色ID列表"`
	RoleIds     string   `json:"roleIds,omitempty" dc:"角色ID"`
	RoleNames   []string `json:"roleNames,omitempty" dc:"角色名称"`
	RoleCodes   []string `json:"roleCodes,omitempty" dc:"角色编码"`
	PermCodes   []string `json:"permCodes,omitempty" dc:"权限标识"`
	DeptId      string   `json:"deptId,omitempty" dc:"部门ID"`
	DeptName    string   `json:"deptName,omitempty" dc:"部门名称"`
	DeptCode    string   `json:"deptCode,omitempty" dc:"部门编码"`
	PostId      string   `json:"postId,omitempty" dc:"岗位ID"`
	PostName    string   `json:"postName,omitempty" dc:"岗位名称"`
	PostCode    string   `json:"postCode,omitempty" dc:"岗位编码"`
	MobilePhone string   `json:"mobilePhone,omitempty" dc:"手机号"`
	Email       string   `json:"email,omitempty" dc:"邮箱"`
	jwt.RegisteredClaims
}
